package com.yxx.service;

import com.yxx.entityModel.vo.Result.PageResult;
import com.yxx.entityModel.vo.query.TaskQuery;
import com.yxx.entityModel.vo.request.StatusRequest;
import com.yxx.entityModel.vo.request.TaskRequest;
import com.yxx.entityModel.vo.request.TaskRunRequest;
import com.yxx.entityModel.vo.response.TaskBackResponse;

import java.util.List;

/**
 * @author yuxiangxun
 * @date 2025/2/16
 * @apiNote
 */
public interface TaskService {
    /**
     * 查看定时任务列表
     * @param taskQuery
     * @return
     */
    PageResult<TaskBackResponse> taskBackList(TaskQuery taskQuery);

    /**
     * 添加定时任务
     * @param taskRequest
     */
    void addTask(TaskRequest taskRequest);

    /**
     * 修改定时任务
     * @param taskRequest
     */
    void updateTask(TaskRequest taskRequest);

    /**
     * 删除定时任务
     * @param taskIdList
     */
    void deleteTask(List<Integer> taskIdList);

    /**
     * 修改定时任务状态
     * @param statusRequest
     */
    void updateTaskStatus(StatusRequest statusRequest);

    /**
     * 执行定时任务
     * @param taskRunRequest
     */
    void runTask(TaskRunRequest taskRunRequest);
}
